package com.ls.lserp.modules.material.dao;

import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.material.entity.MaterialOutInbound;
import com.ls.lserp.modules.material.entity.SlopworkInbound;
import com.ls.lserp.modules.material.entity.SlopworkOutbound;

@MyBatisDao
public interface SlopworkOutboundDao extends CrudDao<SlopworkOutbound>{

	/**
	  * @Title: findRealQuantityList
	  * @Description: 查看画面明细
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return List<SlopworkOutbound> 
	  * @throws
	  */
	public List<SlopworkOutbound> findRealQuantityList(SlopworkOutbound slopworkOutbound);

	/**
	  * @Title: findClothesRequestDetailList
	  * @Description: 查看画面明细
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return List<SlopworkOutbound> 
	  * @throws
	  */
	public List<SlopworkOutbound> findShowRequestDetailList(SlopworkOutbound slopworkOutbound);
	
	/**
	  * @Title: getClothesRequest
	  * @Description: 入库申请单
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return SlopworkOutbound 
	  * @throws
	  */
	public SlopworkOutbound getClothesRequest(SlopworkOutbound slopworkOutbound);

	/**
	  * @Title: findClothesInventoryDetails
	  * @Description: 成衣库存明细
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return List<SlopworkOutbound> 
	  * @throws
	  */
	public List<SlopworkOutbound> findClothesInventoryDetails(SlopworkOutbound slopworkOutbound);
	
	/**
	  * @Title: findWarehouseList
	  * @Description: 仓库集
	  * @param @return
	  * @return List<SlopworkOutbound> 
	  * @throws
	  */
	public List<SlopworkOutbound> findWarehouseList();
	/**
	  * @Title: findRackList
	  * @Description: 货架集
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return List<SlopworkOutbound> 
	  * @throws
	  */
	public List<SlopworkOutbound> findRackList(SlopworkOutbound slopworkOutbound);
	
	/**
	 * 物理删除
	 * @param inventoryRequest
	 * @return
	 */
	public int deleteMaterialDetail(SlopworkOutbound slopworkOutbound);
	/**
	 * 插入
	 * @param inventoryRequest
	 * @return
	 */
	public int insertDetail(SlopworkOutbound slopworkOutbound);

	/**
	  * @Title: findRequestDetailsList
	  * @Description: 更新数量
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public int updateDetail(SlopworkOutbound slopworkOutbound);

	/**
	  * @Title: findRequestDetailsList
	  * @Description: 更新数量
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public int updateQuantity(SlopworkOutbound slopworkOutbound);

	/**
	  * @Title: findRequestDetailsList
	  * @Description: 更新状态
	  * @param @param slopworkOutbound
	  * @param @return
	  * @return 
	  * @throws
	  */
	public int changeStatus(SlopworkOutbound slopworkOutbound);

	/**
	 * @Title: findClothesRequestDetailList
	 * @Description: 查看画面明细
	 * @param @param slopworkOutbound
	 * @param @return
	 * @return List<SlopworkOutbound>
	 * @throws
	 */
	public List<SlopworkOutbound> findShowSamplyBoundDetailList(SlopworkOutbound slopworkOutbound);

	/**
	 * @Title: findRequestDetailsList
	 * @Description: 更新库存数量
	 * @param @param slopworkOutbound
	 * @param @return
	 * @return
	 * @throws
	 */
	public SlopworkOutbound getQuantity(SlopworkOutbound slopworkOutbound);

}
